package com.xm.service;

import com.xm.common.utils.PagedResult;
import com.xm.pojo.Comments;
import com.xm.pojo.Videos;

import java.util.List;

public interface VideoService {

    /**
     * 保存视频信息
     * @param video
     */
     String saveVideo(Videos video);

    /**
     * 更新视频信息
     * @param videoId
     * @param coverPath
     * @return
     */
     void updateVideo(String videoId,String coverPath);

    /**
     * 分页查询所有视频
     * @param video
     * @param isSavedRecord
     * @param page
     * @param pageSize
     * @return
     */
     PagedResult getAllVideos(Videos video,Integer isSavedRecord,Integer page, Integer pageSize);

    /**
     * 分页查询喜欢的视频
     * @param userId
     * @param page
     * @param pageSize
     * @return
     */
    PagedResult getLikeVideos(String userId, Integer page, Integer pageSize);

    /**
     * 分页查询关注的人的视频
     * @param userId
     * @param page
     * @param pageSize
     * @return
     */
    PagedResult getFollowVideos(String userId, Integer page, Integer pageSize);

    /**
     * 获取热搜词
     * @return
     */
    List<String> getHotWords();

    /**
     * 对视屏点赞
     * @param userId
     * @param videoId
     * @param videoOwnId
     */
    public void userLikeVideo(String userId,String videoId,String videoOwnId);

    /**
     * 对视屏取消点赞
     * @param userId
     * @param videoId
     * @param videoOwnId
     */
    public void userUnLikeVideo(String userId,String videoId,String videoOwnId);

    /**
     * 保存评论
     * @param comments
     */
    public void saveComments(Comments comments);

    /**
     * 分页查询关于此视频所有的评论
     * @param videoId
     * @param page
     * @param pageSize
     * @return
     */
    public PagedResult getAllComments(String videoId,Integer page,Integer pageSize);


}
